package io.itit.ecp.admin.provide.action.resp;


import io.itit.ecp.admin.provide.selected.CarbonSinkSelected;
import io.itit.ecp.admin.provide.selected.MeterDeviceStaticsTypeSelected;
import io.itit.grass.dict.starter.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
@ApiModel("活动碳排放详情管理")
public class ActivityCarbonEmissionDetailResp implements Serializable {

    @ApiModelProperty("关联设备")
    private List<MeterDeviceDetailResp> meterDeviceDetails;

    @ApiModelProperty("关联绿化")
    private List<SinkDataDetailResp> sinkDetails;


    @Data
    public static class MeterDeviceDetailResp implements ISceneInfoResp {

        private String sceneProjectId;

        private String projectName;

        private String sceneEdificeId;

        private String sceneFloorId;

        private String sceneRoomId;

        private String sceneInfoName;

        private String deviceCode;

        private String deviceName;

        @ApiModelProperty("能源类型id")
        private String energyTypeId;

        @ApiModelProperty("能源类型名称")
        private String energyTypeName;

        @ApiModelProperty("统计类型")
        @Dict(dictCode = MeterDeviceStaticsTypeSelected.CODE, isBean = true)
        private String staticsType;

    }

    @Data
    public static class SinkDataDetailResp implements ISceneInfoResp {

        private String sceneProjectId;

        private String projectName;

        private String sceneEdificeId;

        private String sceneFloorId;

        private String sceneRoomId;

        private String sceneInfoName;

        @ApiModelProperty("名称类型")
        @Dict(dictCode = CarbonSinkSelected.CODE, isBean = true)
        private String type;

        @ApiModelProperty("碳汇因子Id")
        private String carbonSinkId;

        @ApiModelProperty("碳汇因子名称")
        private String carbonSinkName;

    }

}
